package tcp;

import java.io.IOException;
import java.util.Scanner;

/**
 * 交互式消息服务器
 * 功能：允许服务器操作员参与聊天，而不是简单回显客户端消息
 * 继承自TCPEchoServer，重写process方法实现交互功能
 */
public class TCPMsgServer extends TCPEchoServer {
    /**
     * 构造方法
     * @param port 服务端的端口号
     */
    public TCPMsgServer(int port) throws IOException {
        super(port);
    }

    /**
     * 重写process方法，实现交互式消息处理
     * @param request 客户端发送的消息
     * @return 服务器操作员输入的响应消息
     */
    @Override
    protected String process(String request) {
        // 打印客户端发来的内容
        System.out.println("-> " + request);
        // 获取响应的内容
        // 创建Scanner对象读取控制台输入（服务器操作员的响应）
        Scanner scanner = new Scanner(System.in);
        // 读取服务器操作员输入的一行文本
        String response = scanner.nextLine();
        // 返回响应内容
        return response;
    }

    public static void main(String[] args) throws IOException {
        TCPMsgServer server = new TCPMsgServer(9999);
        server.start();
    }
}